[Talend]tRESTを利用してRESTfulなWebサービスへリクエストを送る
はじめに
こんにちは。DI部の大高です。
今回はTalendのコンポーネント「tREST」を紹介したいと思います。
前提条件
Talendのバージョンは「Talend Open Studio for Big Data」の「Version 7.0.1」で検証しています。
tRESTについて
「tREST」を利用するとRESTFulなWebサービスへシンプルなリクエストを送ることができます。
「tREST」コンポーネントのTalend Helpページはこちらです。
なお、同様のコンポーネントとして「tRESTClient」コンポーネントがあるのですが、もうちょっと本格的なリクエストを送る場合にはそちらのコンポーネントを利用すると良いかと思います。
では、具体的に以下で解説していきます。
ジョブの説明
「tREST」でリクエストを送信し、「tLogRow」でレスポンスを標準出力に表示します。
「tREST」コンポーネントの設定
コンポーネントの設定
コンポーネントにはウェブサービスにリクエストする情報を設定していきます。
スキーマ定義
スキーマ定義は固定となっており、以下のとおりとなります。
レスポンスとして「Body」にレスポンスBodyが、エラー発生時には「ERROR_CODE」にHTTPエラーコードが返却されます。
URL
リクエスト先のエンドポイントを指定します。今回はGitHubのランダムメッセージを返却してくれるエンドポイント「https://api.github.com/zen」を指定してみました。
HTTPメソッド
HTTPメソッドを「GET」、「POST」、「PUT」、「削除」(DELETE)から選択することができます。
HTTPヘッダー
リクエスト時のヘッダ情報をここで設定することができます。必要に応じて下部の「+」をクリックして、「名前」にヘッダ名、「値」に実際の値を設定します。
HTTPボディ
HTTPメソッドを「POST」、「PUT」に設定すると表示されます。ここで、送信するHTTP Bodyを文字列で設定することができます。
「tLogRow」コンポーネントの設定
「tLogRow」コンポーネントでは「モード」を「縦に出力」として読みやすくしてみました。
実行結果
設定は以上です。実際にこのジョブを実行すると以下のように出力されます。
[statistics] connecting to socket on port 3334 [statistics] connected .------------------------------. | #1. tLogRow_1 | +------------+-----------------+ | key | value | +------------+-----------------+ | Body | Encourage flow. | | ERROR_CODE | null | +------------+-----------------+ [statistics] disconnected
「https://api.github.com/zen」からのレスポンスが表示されました!
まとめ
以上、「tREST」コンポーネントの紹介でした。
簡易なRESTクライアントとしてリクエストを送るには「tREST」コンポーネントが利用できるかと思います。なお、冒頭にも記載しましたが本格的なリクエスト送信をする場合には「tRESTClient」コンポーネントの利用も検討が必要かと思います。
それでは。